package src.main.java.org.File;
/*
* 啤酒问题：两元一瓶，4个盖子可以换一瓶，2个空瓶可以换一瓶，请问10元可以喝多少瓶
* */
public class Test9 {
    public static int totalNumber; //总酒数
    public static int lastBottleNumber;
    public static int lastCoverNumber;

    public static void main(String[] args) {
        CalPeer(10);
        System.out.println("总数："+totalNumber);
        System.out.println("剩余盖子数："+lastBottleNumber);
        System.out.println("剩余瓶子数："+lastCoverNumber);
    }
    public static void CalPeer(int money){
        //1.先买了再说
        int buyNumber = money / 2;
        totalNumber +=buyNumber;  //总酒数
        //2.把盖子和瓶子换算成钱继续买
        //计算总的盖子和瓶子数
        int allBottleNumber = buyNumber + lastBottleNumber;  //所有的瓶子数是第一次买的，加上次换完的
        int allCoverNumber = buyNumber + lastCoverNumber; //所有的盖子数是第一次买的，加上次换完的
        int allMoney = 0;
        if(allBottleNumber >= 2){  //瓶子数大于2
            allMoney +=(allBottleNumber/2)*2; //就可以继续换换算成钱
        }
        lastBottleNumber = allBottleNumber%2;//没有换完的瓶子；
        if(allCoverNumber>=4){  //盖子数大于等于4
            allMoney += (allCoverNumber/4)*2; //就可以继续换换算成钱
        }
        lastCoverNumber = allCoverNumber%4; //没有换完的盖子

        if(allMoney>=2){
            CalPeer(allMoney);
        }
    }
}
